entrega = {
	bindEvents: function(){
		$(document).on("blur","#inputNroPedido",function(){
			var id = $(this).val().trim();
			var formData = { "id":id };
			if(id != ""){
				request = $.ajax({
		    	    url : "ObtenerPedido",
		    	    type: "POST",
		    	    data : formData,
		    	});
				request.done(function (response, textStatus, jqXHR){
					if(response.error && response.error == "id inexistente"){
						entrega.mostrarNotificacion("Numero de pedido inexistente", "top right", "error");
						$(".tabla_detalles tbody tr").remove();
						$(".pedidoId").val("");
					}else if(response.error && response.error == "error"){
						entrega.mostrarNotificacion("Numero de pedido incorrecto", "top right", "error");
						$(".tabla_detalles tbody tr").remove();
						$(".pedidoId").val("");
					}else{
						if(response.estado == "Cancelado parcial" || response.estado == "Cancelado"){
							entrega.mostrarNotificacion("El pedido se encuentra cancelado", "top right", "sucess");
							$(".tabla_detalles tbody tr").remove();
							$(".pedidoId").val("");
						}else if(response.estado == "Entregado"){
							entrega.mostrarNotificacion("El pedido fue entregado completamente", "top right", "sucess");
							$(".tabla_detalles tbody tr").remove();
							$(".pedidoId").val("");
						}else{
							//TODO: Parsear fecha de JSON y agregarlo al input de fecha
							console.log(response);
							var tabla = $(".tabla_detalles tbody");
							$(".tabla_detalles tbody tr").remove();
							jQuery.each(response.detalle_pedido, function(i, val){
								var diff = Number(val.cantidad_pedida) - Number(val.cant_entregada);
								tabla.append("<tr>" +
												"<td width=\"3%\"><div class=\"checkbox checkTable\"><label><input type=\"checkbox\" class=\"checkChild\" name=\"checklist\"></label></div></td>" +
												"<td width=\"15%\">"+val.producto.id_producto+"</td>" +
												"<td width=\"30%\">"+val.producto.desc_producto+"</td>" +
												"<td width=\"20%\">Buscar El Stock</td>" +
												"<td width=\"17%\">"+diff+"</td>" +
												"<td width=\"15%\"><input type=\"number\" class=\"input_pedido form-control cantidad\" value=\"0\" disabled></td>" +
												"<td class=\"hidden\">"+val.cant_entregada+"</td>" +
												"<td class=\"hidden\">"+val.cantidad_pedida+"</td>" +
											"</tr>");
							});
							$(".pedidoId").val(response.id);
						}
					}
				});
			}else{
				$(".tabla_detalles tbody tr").remove();
				$(".pedidoId").val("");
			}
		});
		
		$(".checkMaster").change(function(){
			if($(this).is(':checked')){
				$(".input_pedido").prop("disabled", false);
				$(".checkChild").prop("checked", true);
			}else{
				$(".input_pedido").prop("disabled", true);
				$(".checkChild").prop("checked", false);
			}
		});
		
		$(document).on("change", ".checkChild", function(){
			var element = $(this).parent().parent().parent().parent().find("td").eq(5).find("input");
			if($(this).is(':checked')){
				element.prop("disabled", false);
			}else{
				element.prop("disabled", true);
				element.val(0);
			}
		});
		
		$(document).on("change", ".input_pedido", function(){
			var max = $(this).parent().parent().find("td").eq(4).text();
			if(max <= $(this).val()){
				$(this).val(max);
			}
		});
		
		$(".btnAceptar").click(function(){
			var row = null;
			var array_detalles = [];
			var formData = {};
			var row_data = {};
			
			formData.id_pedido = $(".pedidoId").val();
			
			$("input:checkbox[name=checklist]:checked").each(function()
			{
				row = $(this).parent().parent().parent().parent().find("td");
			    row_data.cod_prod = row.eq(1).text();
				row_data.cantidad_entregar = row.eq(5).find("input").val();
				row_data.cantidad_entregada = row.eq(6).text();
				row_data.cantidad_pedida = row.eq(7).text();
				array_detalles.push(row_data); 
				row_data = {};
			});
			
			formData.detalle_pedido = array_detalles;
			todo = {};
			todo.text = JSON.stringify(formData); 
			request = $.ajax({
	    	    url : "EntregarMercaderia",
	    	    type: "POST",
	    	    data : todo,
	    	});
			request.done(function (response, textStatus, jqXHR){
				console.log("Esiitoo");
				$(location).attr('href', 'index.jsp');
			});
		});
	},
	
	mostrarNotificacion: function(str, position, type){
		//Para aprender como se usa la libreria: http://notifyjs.com/
		$.notify(str, { globalPosition: position,
				  		className: type,
				  		clickToHide: true,
				  		autoHide: true,
				  		autoHideDelay: 4000,
			     	  });
	},
	
	parseDate: function(ds){
		return new Date (ds);
	}
	
};

$( document ).ready(function() {
	entrega.bindEvents();
});